package com.yanqu.road.entity.activity.shuihu;

import com.yanqu.road.entity.DataObject;
import com.yanqu.road.entity.FieldTypeAnnotation;
import com.yanqu.road.utils.property.Property;

import java.util.List;

@FieldTypeAnnotation(tableName = "t_u_activity_shuihu_user_data")
public class ShuiHuUserData extends DataObject {

    @FieldTypeAnnotation(desc = "活动ID", select = true, update = true)
    private int activityId;
    @FieldTypeAnnotation(desc = "用户ID", select = true, update = true)
    private long userId;
    @FieldTypeAnnotation(desc = "积分")
    private int score;
    @FieldTypeAnnotation(desc = "英雄点")
    private int point;
    @FieldTypeAnnotation(desc = "拥有的卡片")
    private Property cardProp;
    @FieldTypeAnnotation(desc = "组合达成次数")
    private Property combProp;
    @FieldTypeAnnotation(desc = "获得过的卡片ID")
    private List<Integer> gotCardList;
    @FieldTypeAnnotation(desc = "自动发奖标志")
    private boolean autoReward;

    public int getActivityId() {
        return activityId;
    }

    public long getUserId() {
        return userId;
    }

    public int getScore() {
        return score;
    }

    public int getPoint() {
        return point;
    }

    public Property getCardProp() {
        return cardProp;
    }

    public Property getCombProp() {
        return combProp;
    }

    public List<Integer> getGotCardIdList() {
        return gotCardList;
    }

    public boolean isAutoReward() {
        return autoReward;
    }

    public void setActivityId(int activityId) {
        if (this.activityId != activityId) {
            this.activityId = activityId;
            setUpdateOption();
        }
    }

    public void setUserId(long userId) {
        if (this.userId != userId) {
            this.userId = userId;
            setUpdateOption();
        }
    }

    public void setScore(int score) {
        if (this.score != score) {
            this.score = score;
            setUpdateOption();
        }
    }

    public void setPoint(int point) {
        if (this.point != point) {
            this.point = point;
            setUpdateOption();
        }
    }

    public void setCardProp(Property cardProp) {
        this.cardProp = cardProp;
        setUpdateOption();
    }

    public void setCombProp(Property combProp) {
        this.combProp = combProp;
        setUpdateOption();
    }

    public void setGotCardIdList(List<Integer> list) {
        this.gotCardList = list;
        setUpdateOption();
    }

    public void setAutoReward(boolean autoReward) {
        if (this.autoReward != autoReward) {
            this.autoReward = autoReward;
            setUpdateOption();
        }
    }
}
